﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000363 RID: 867
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class CurChallenge : IMessage<CurChallenge>, IMessage, IEquatable<CurChallenge>, IDeepCloneable<CurChallenge>, IBufferMessage
	{
		// Token: 0x17000B38 RID: 2872
		// (get) Token: 0x060026E4 RID: 9956 RVA: 0x0006D032 File Offset: 0x0006B232
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<CurChallenge> Parser
		{
			get
			{
				return CurChallenge._parser;
			}
		}

		// Token: 0x17000B39 RID: 2873
		// (get) Token: 0x060026E5 RID: 9957 RVA: 0x0006D039 File Offset: 0x0006B239
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return CurChallengeReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17000B3A RID: 2874
		// (get) Token: 0x060026E6 RID: 9958 RVA: 0x0006D04B File Offset: 0x0006B24B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return CurChallenge.Descriptor;
			}
		}

		// Token: 0x060026E7 RID: 9959 RVA: 0x0006D052 File Offset: 0x0006B252
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public CurChallenge()
		{
		}

		// Token: 0x060026E8 RID: 9960 RVA: 0x0006D068 File Offset: 0x0006B268
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public CurChallenge(CurChallenge other) : this()
		{
			this.deadAvatarNum_ = other.deadAvatarNum_;
			this.scoreId_ = other.scoreId_;
			this.status_ = other.status_;
			this.scoreTwo_ = other.scoreTwo_;
			this.stageInfo_ = ((other.stageInfo_ != null) ? other.stageInfo_.Clone() : null);
			this.killMonsterList_ = other.killMonsterList_.Clone();
			this.extraLineupType_ = other.extraLineupType_;
			this.challengeId_ = other.challengeId_;
			this.roundCount_ = other.roundCount_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x060026E9 RID: 9961 RVA: 0x0006D10D File Offset: 0x0006B30D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public CurChallenge Clone()
		{
			return new CurChallenge(this);
		}

		// Token: 0x17000B3B RID: 2875
		// (get) Token: 0x060026EA RID: 9962 RVA: 0x0006D115 File Offset: 0x0006B315
		// (set) Token: 0x060026EB RID: 9963 RVA: 0x0006D11D File Offset: 0x0006B31D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint DeadAvatarNum
		{
			get
			{
				return this.deadAvatarNum_;
			}
			set
			{
				this.deadAvatarNum_ = value;
			}
		}

		// Token: 0x17000B3C RID: 2876
		// (get) Token: 0x060026EC RID: 9964 RVA: 0x0006D126 File Offset: 0x0006B326
		// (set) Token: 0x060026ED RID: 9965 RVA: 0x0006D12E File Offset: 0x0006B32E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint ScoreId
		{
			get
			{
				return this.scoreId_;
			}
			set
			{
				this.scoreId_ = value;
			}
		}

		// Token: 0x17000B3D RID: 2877
		// (get) Token: 0x060026EE RID: 9966 RVA: 0x0006D137 File Offset: 0x0006B337
		// (set) Token: 0x060026EF RID: 9967 RVA: 0x0006D13F File Offset: 0x0006B33F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ChallengeStatus Status
		{
			get
			{
				return this.status_;
			}
			set
			{
				this.status_ = value;
			}
		}

		// Token: 0x17000B3E RID: 2878
		// (get) Token: 0x060026F0 RID: 9968 RVA: 0x0006D148 File Offset: 0x0006B348
		// (set) Token: 0x060026F1 RID: 9969 RVA: 0x0006D150 File Offset: 0x0006B350
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint ScoreTwo
		{
			get
			{
				return this.scoreTwo_;
			}
			set
			{
				this.scoreTwo_ = value;
			}
		}

		// Token: 0x17000B3F RID: 2879
		// (get) Token: 0x060026F2 RID: 9970 RVA: 0x0006D159 File Offset: 0x0006B359
		// (set) Token: 0x060026F3 RID: 9971 RVA: 0x0006D161 File Offset: 0x0006B361
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ChallengeStoryInfo StageInfo
		{
			get
			{
				return this.stageInfo_;
			}
			set
			{
				this.stageInfo_ = value;
			}
		}

		// Token: 0x17000B40 RID: 2880
		// (get) Token: 0x060026F4 RID: 9972 RVA: 0x0006D16A File Offset: 0x0006B36A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<KillMonster> KillMonsterList
		{
			get
			{
				return this.killMonsterList_;
			}
		}

		// Token: 0x17000B41 RID: 2881
		// (get) Token: 0x060026F5 RID: 9973 RVA: 0x0006D172 File Offset: 0x0006B372
		// (set) Token: 0x060026F6 RID: 9974 RVA: 0x0006D17A File Offset: 0x0006B37A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ExtraLineupType ExtraLineupType
		{
			get
			{
				return this.extraLineupType_;
			}
			set
			{
				this.extraLineupType_ = value;
			}
		}

		// Token: 0x17000B42 RID: 2882
		// (get) Token: 0x060026F7 RID: 9975 RVA: 0x0006D183 File Offset: 0x0006B383
		// (set) Token: 0x060026F8 RID: 9976 RVA: 0x0006D18B File Offset: 0x0006B38B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint ChallengeId
		{
			get
			{
				return this.challengeId_;
			}
			set
			{
				this.challengeId_ = value;
			}
		}

		// Token: 0x17000B43 RID: 2883
		// (get) Token: 0x060026F9 RID: 9977 RVA: 0x0006D194 File Offset: 0x0006B394
		// (set) Token: 0x060026FA RID: 9978 RVA: 0x0006D19C File Offset: 0x0006B39C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint RoundCount
		{
			get
			{
				return this.roundCount_;
			}
			set
			{
				this.roundCount_ = value;
			}
		}

		// Token: 0x060026FB RID: 9979 RVA: 0x0006D1A5 File Offset: 0x0006B3A5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as CurChallenge);
		}

		// Token: 0x060026FC RID: 9980 RVA: 0x0006D1B4 File Offset: 0x0006B3B4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(CurChallenge other)
		{
			return other != null && (other == this || (this.DeadAvatarNum == other.DeadAvatarNum && this.ScoreId == other.ScoreId && this.Status == other.Status && this.ScoreTwo == other.ScoreTwo && object.Equals(this.StageInfo, other.StageInfo) && this.killMonsterList_.Equals(other.killMonsterList_) && this.ExtraLineupType == other.ExtraLineupType && this.ChallengeId == other.ChallengeId && this.RoundCount == other.RoundCount && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x060026FD RID: 9981 RVA: 0x0006D278 File Offset: 0x0006B478
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.DeadAvatarNum != 0U)
			{
				num ^= this.DeadAvatarNum.GetHashCode();
			}
			if (this.ScoreId != 0U)
			{
				num ^= this.ScoreId.GetHashCode();
			}
			if (this.Status != ChallengeStatus.ChallengeUnknown)
			{
				num ^= this.Status.GetHashCode();
			}
			if (this.ScoreTwo != 0U)
			{
				num ^= this.ScoreTwo.GetHashCode();
			}
			if (this.stageInfo_ != null)
			{
				num ^= this.StageInfo.GetHashCode();
			}
			num ^= this.killMonsterList_.GetHashCode();
			if (this.ExtraLineupType != ExtraLineupType.LineupNone)
			{
				num ^= this.ExtraLineupType.GetHashCode();
			}
			if (this.ChallengeId != 0U)
			{
				num ^= this.ChallengeId.GetHashCode();
			}
			if (this.RoundCount != 0U)
			{
				num ^= this.RoundCount.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x060026FE RID: 9982 RVA: 0x0006D37D File Offset: 0x0006B57D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x060026FF RID: 9983 RVA: 0x0006D385 File Offset: 0x0006B585
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06002700 RID: 9984 RVA: 0x0006D390 File Offset: 0x0006B590
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.ScoreTwo != 0U)
			{
				output.WriteRawTag(8);
				output.WriteUInt32(this.ScoreTwo);
			}
			if (this.ChallengeId != 0U)
			{
				output.WriteRawTag(16);
				output.WriteUInt32(this.ChallengeId);
			}
			if (this.ExtraLineupType != ExtraLineupType.LineupNone)
			{
				output.WriteRawTag(32);
				output.WriteEnum((int)this.ExtraLineupType);
			}
			if (this.DeadAvatarNum != 0U)
			{
				output.WriteRawTag(48);
				output.WriteUInt32(this.DeadAvatarNum);
			}
			if (this.stageInfo_ != null)
			{
				output.WriteRawTag(58);
				output.WriteMessage(this.StageInfo);
			}
			if (this.RoundCount != 0U)
			{
				output.WriteRawTag(72);
				output.WriteUInt32(this.RoundCount);
			}
			this.killMonsterList_.WriteTo(ref output, CurChallenge._repeated_killMonsterList_codec);
			if (this.ScoreId != 0U)
			{
				output.WriteRawTag(104);
				output.WriteUInt32(this.ScoreId);
			}
			if (this.Status != ChallengeStatus.ChallengeUnknown)
			{
				output.WriteRawTag(120);
				output.WriteEnum((int)this.Status);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06002701 RID: 9985 RVA: 0x0006D4A4 File Offset: 0x0006B6A4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.DeadAvatarNum != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.DeadAvatarNum);
			}
			if (this.ScoreId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.ScoreId);
			}
			if (this.Status != ChallengeStatus.ChallengeUnknown)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Status);
			}
			if (this.ScoreTwo != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.ScoreTwo);
			}
			if (this.stageInfo_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.StageInfo);
			}
			num += this.killMonsterList_.CalculateSize(CurChallenge._repeated_killMonsterList_codec);
			if (this.ExtraLineupType != ExtraLineupType.LineupNone)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.ExtraLineupType);
			}
			if (this.ChallengeId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.ChallengeId);
			}
			if (this.RoundCount != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.RoundCount);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06002702 RID: 9986 RVA: 0x0006D5A0 File Offset: 0x0006B7A0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CurChallenge other)
		{
			if (other == null)
			{
				return;
			}
			if (other.DeadAvatarNum != 0U)
			{
				this.DeadAvatarNum = other.DeadAvatarNum;
			}
			if (other.ScoreId != 0U)
			{
				this.ScoreId = other.ScoreId;
			}
			if (other.Status != ChallengeStatus.ChallengeUnknown)
			{
				this.Status = other.Status;
			}
			if (other.ScoreTwo != 0U)
			{
				this.ScoreTwo = other.ScoreTwo;
			}
			if (other.stageInfo_ != null)
			{
				if (this.stageInfo_ == null)
				{
					this.StageInfo = new ChallengeStoryInfo();
				}
				this.StageInfo.MergeFrom(other.StageInfo);
			}
			this.killMonsterList_.Add(other.killMonsterList_);
			if (other.ExtraLineupType != ExtraLineupType.LineupNone)
			{
				this.ExtraLineupType = other.ExtraLineupType;
			}
			if (other.ChallengeId != 0U)
			{
				this.ChallengeId = other.ChallengeId;
			}
			if (other.RoundCount != 0U)
			{
				this.RoundCount = other.RoundCount;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06002703 RID: 9987 RVA: 0x0006D691 File Offset: 0x0006B891
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06002704 RID: 9988 RVA: 0x0006D69C File Offset: 0x0006B89C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 48U)
				{
					if (num <= 16U)
					{
						if (num == 8U)
						{
							this.ScoreTwo = input.ReadUInt32();
							continue;
						}
						if (num == 16U)
						{
							this.ChallengeId = input.ReadUInt32();
							continue;
						}
					}
					else
					{
						if (num == 32U)
						{
							this.ExtraLineupType = (ExtraLineupType)input.ReadEnum();
							continue;
						}
						if (num == 48U)
						{
							this.DeadAvatarNum = input.ReadUInt32();
							continue;
						}
					}
				}
				else if (num <= 72U)
				{
					if (num == 58U)
					{
						if (this.stageInfo_ == null)
						{
							this.StageInfo = new ChallengeStoryInfo();
						}
						input.ReadMessage(this.StageInfo);
						continue;
					}
					if (num == 72U)
					{
						this.RoundCount = input.ReadUInt32();
						continue;
					}
				}
				else
				{
					if (num == 98U)
					{
						this.killMonsterList_.AddEntriesFrom(ref input, CurChallenge._repeated_killMonsterList_codec);
						continue;
					}
					if (num == 104U)
					{
						this.ScoreId = input.ReadUInt32();
						continue;
					}
					if (num == 120U)
					{
						this.Status = (ChallengeStatus)input.ReadEnum();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04000F97 RID: 3991
		private static readonly MessageParser<CurChallenge> _parser = new MessageParser<CurChallenge>(() => new CurChallenge());

		// Token: 0x04000F98 RID: 3992
		private UnknownFieldSet _unknownFields;

		// Token: 0x04000F99 RID: 3993
		public const int DeadAvatarNumFieldNumber = 6;

		// Token: 0x04000F9A RID: 3994
		private uint deadAvatarNum_;

		// Token: 0x04000F9B RID: 3995
		public const int ScoreIdFieldNumber = 13;

		// Token: 0x04000F9C RID: 3996
		private uint scoreId_;

		// Token: 0x04000F9D RID: 3997
		public const int StatusFieldNumber = 15;

		// Token: 0x04000F9E RID: 3998
		private ChallengeStatus status_;

		// Token: 0x04000F9F RID: 3999
		public const int ScoreTwoFieldNumber = 1;

		// Token: 0x04000FA0 RID: 4000
		private uint scoreTwo_;

		// Token: 0x04000FA1 RID: 4001
		public const int StageInfoFieldNumber = 7;

		// Token: 0x04000FA2 RID: 4002
		private ChallengeStoryInfo stageInfo_;

		// Token: 0x04000FA3 RID: 4003
		public const int KillMonsterListFieldNumber = 12;

		// Token: 0x04000FA4 RID: 4004
		private static readonly FieldCodec<KillMonster> _repeated_killMonsterList_codec = FieldCodec.ForMessage<KillMonster>(98U, KillMonster.Parser);

		// Token: 0x04000FA5 RID: 4005
		private readonly RepeatedField<KillMonster> killMonsterList_ = new RepeatedField<KillMonster>();

		// Token: 0x04000FA6 RID: 4006
		public const int ExtraLineupTypeFieldNumber = 4;

		// Token: 0x04000FA7 RID: 4007
		private ExtraLineupType extraLineupType_;

		// Token: 0x04000FA8 RID: 4008
		public const int ChallengeIdFieldNumber = 2;

		// Token: 0x04000FA9 RID: 4009
		private uint challengeId_;

		// Token: 0x04000FAA RID: 4010
		public const int RoundCountFieldNumber = 9;

		// Token: 0x04000FAB RID: 4011
		private uint roundCount_;
	}
}
